The present invention relates to a printing apparatus connected to a host computer for printing according to commands from the host computer, and relates particularly to a printing apparatus suitable for data processing apparatuses, such as point-of-sale (POS) terminals and electronic cash registers (ECR), used in processing monetary transactions.
When continuing the printing operation is inappropriate, such as when the paper supply is depleted, the printer cover is opened, or an error occurs, conventional printing apparatuses typically stop the printer mechanism containing the printing head, and bring the interface to the host computer off-line (a logical non-connection state) to both protect the printing apparatus and the communications data, and assure user safety. Once this off-line state is entered, however, internal control of the printer apparatus stops, and the data already transferred to the printer apparatus is no longer processed. Data is also no longer received by the printer apparatus, and the printer apparatus cannot receive or process any data output thereto or respond to inquiries from the host computer.
The printing apparatus even moves off-line when the form-feed switch is pressed and paper is being advanced, and when the data receiving buffer storing the received data is full (a buffer full state), and it is difficult to distinguish between these off-line states and off-line states in which it is inappropriate to continue printing.
When the printing apparatus goes off-line, the host computer is no longer able to send the print data, and the complete system, POS, ECR, or other, comes to a stop. In such a case, the host computer typically displays a message such as "printer problem, please check" on the display device, and the user must manually inspect the printing apparatus and correct the problem leading to the off-line state. However, for many general POS and ECR users, determining the problem is often difficult and time-consuming.
On the other hand, control commands stored in the data receiving buffer are interpreted in a first-in-first-out (FIFO, the first commands stored are the first interpreted) order, and the appropriate command process is executed. Control commands that have been processed are deleted from the data receiving buffer. As a result, as control commands are successively input from the host computer, the commands are stored one after the other in the data receiving buffer, and processed in order from the oldest control command stored. This creates a time lag between output of the control command from the host computer and actual execution of the control command by the printing apparatus.
In conventional printing apparatuses handling cut-sheet forms, the printer mechanism and printer head must be stopped to wait for insertion of the cut-sheet form when the host computer selects a cut-sheet form for printing. Because internal control of the printing apparatus stops at this time, the data received from the host computer once the cut-sheet form selection is made is not processed, and there is no response from the printing apparatus, until the cut-sheet form is inserted or a predetermined cut-sheet form insertion waiting period is completed.
As a result, if the user mistakenly selects cut-sheet form printing, the POS/ECR terminal stops processing for the period, thus delaying further processing and causing the customer to wait. When the printing apparatus is reset or the power is turned off and then on again, the data controlling the printing apparatus settings stored in the printing apparatus is lost. This is a significant problem for a printing apparatus used in POS/ECR terminals in financial transaction systems.
Errors generated in the printing apparatus include recoverable errors, such as paper jams in the paper transport path, and non-recoverable errors, such as problems with the power supply voltage from the AC-DC converter and damage to the head temperature detector of the print head. The methods of handling recoverable and non-recoverable errors differ greatly, and it is therefore necessary to distinguish between the two; this is, however, difficult for the average user.
Furthermore, even if the cause of the error is removed in conventional printing apparatuses, it is necessary to reset the printing apparatus or turn the power off and then on again to escape from the error state. Both of these operations also destroy the data stored to that point in the printing apparatus.
To minimize the effects of these problems, the host computer in data processing systems using such conventional printing apparatuses adds a status request command to each line of data instead of batch sending plural lines of data, and uses the response to determine the current status of the printing apparatus. This, however, adds significant overhead to the host computer, and leads to reduced throughput in the data processing system.
As a result of the above, stand-alone type dedicated data processing systems integrating the data entry device, processing device, and printing apparatus are widely used in conventional POS/ECR systems. Systems connecting a host computer with a printing apparatus using a general-purpose interface are not widely used, even though they offer excellent flexibility, due data reliability problems (i.e., security issues). To improve data reliability and simultaneously improve operability (usability), it is desirable to have a data processing system whereby the cause of any stop in printing apparatus operation can be known even while the printing apparatus is in a off-line state, and the cause of the problem can be quickly corrected.
Therefore, an object of the present invention is to provide a printing apparatus whereby the above problems can be solved; a high reliability data processing apparatus can be achieved; the overhead on the host computer can be reduced; and operation is user-friendly.